GMAIL-CAL

Section: Maintenance Commands (8)
Updated: Local
Index Return to Main Contents
 

NAME

gmailcal - organize an events calendar maintained with gmail(8l)  

SYNOPSIS

gmailcal  

DESCRIPTION

Gmailcal is a perl(1) script which organizes a calendar of events submitted via the mail-to-Gopherspace interface gmail(8).

Gmailcal is intended to be run shortly after midnight each night from crontab. It performs maintenance functions on a directory of calendar event files created by gmail and creates Gopher links constituting alternate views of the upcoming events organized by date. The result should be a Gopher menu structure which looks like this:

   Foobar University events schedule/
      About the Foobar University events schedule
      Today/
      Tomorrow/
      This week/
      Next week/
      January, 1993/
      February, 1993/
      March, 1993/
      April, 1993/
      May, 1993/
      All upcoming events/
      Past events/

The ``All upcoming events'' directory contains the actual events files stored by gmail. Events for dates which have already taken place are moved by gmailcal into the ``Past events'' directory, where they are kept for a configurable number of days and then deleted. The other directories (``Today'', ``Tomorrow'', etc.) contain Gopher links to the appropriate events in the ``All upcoming events'' directory.

Gmailcal also creates a Gopher link in each directory to the ``About'' file in the parent directory, which should contain a description of the events calendar and how to submit items to it.  

CONFIGURATION

The following perl(1) variables must be set according to the needs of your site at the beginning of the gmailcal script (see the comments in the script for more details):
$caldir
The directory where gmail places events calendar data (the same variable must be set in the gmail script). It should probably end in the word ``Upcoming'' (for example, ``/foo/gopher/events/Upcoming''). The alternate views created by gmailcal will go into sibling directories relative to $caldir (for example, ``../Today'').
$Host
The hostname of the host running the Gopher server which will serve out the events calendar.
$Port
The TCP/IP port number of the Gopher server.
$Path
The Gopher's-eye view of the same directory specified in $caldir, including the initial type specifier ``1''. Example: ``1/events/Upcoming''.
$keepold
The number of days to keep old events in the ``Past'' directory before deleting them.
$weekbreak
The day of the week on which the week begins (0 for Sunday, 1 for Monday).
$monthviews
The number of months ahead to maintain month-by-month views.
$description
A short description of the events calendar (e.g., ``the Foobar University events schedule'').
$debug
Set to 1 to receive extensive debug output, 0 to receive only serious error messages.
$UMASK
The Unix file permissions mask. Use 002 if you wish to have files created by gmailcal be group-writeable, 022 otherwise.
 

FULL-TEXT INDEXES

Gmailcal does not create a full-text index of the events data, but you can use WAIS or your favorite software to do so. Gmail inserts the title of each item as the first line of each file it puts into Gopherspace, so the WAIS "-t first_line" should be useful.  

DIAGNOSTICS

Gmailcal produces error messages on stderr. It will operate silently if there are no errors, unless the $debug perl variable in the gmailcal script is turned on, in which case it will produce copious information about everything it does.  

FILES

The actual filenames of the various files and directories (relative to $caldir) are:
   ../About
   ../Today
   ../Tomorrow
   ../This_week
   ../Next_week
   ../yyyy-mm (for the month-by-month views)
   ../Past

Within each directory, gmailcal creates ``.links'' files and/or ``.cap'' subdirectories.  

BUGS

The gopherd(8) Gopher server can easily become very confused about the order of items if there are problems with ``Numb='' entries in .cap files.

If there are no events in a given month, it would be nice if that directory did not appear at all.  

SEE ALSO

gmail(8), gopherd(8), perl(1), crontab(1), crontab(5).  

AUTHOR

Prentiss Riddle (riddle@rice.edu)


 

Index

NAME
SYNOPSIS
DESCRIPTION
CONFIGURATION
FULL-TEXT INDEXES
DIAGNOSTICS
FILES
BUGS
SEE ALSO
AUTHOR

This document was created by man2html, using the manual pages.
Time: 13:03:46 GMT, November 04, 2024